Skip to content

ci: split distro-qemu into build-initramfs + run-qemu jobs#241

Merged
gnurizen merged 1 commit intomainfrom
ci/split-distro-qemu-build
Mar 11, 2026
Merged

ci: split distro-qemu into build-initramfs + run-qemu jobs#241
gnurizen merged 1 commit intomainfrom
ci/split-distro-qemu-build

Conversation

@gnurizen
Copy link
Collaborator

Summary

  • Split monolithic build-and-run.sh into build-initramfs.sh + run-qemu.sh
  • New build-distro-qemu-initramfs CI job builds the initramfs once per arch on native runners, uploads as artifact
  • distro-qemu-tests jobs download the pre-built initramfs and only run QEMU — no Go, debootstrap, parcagpu, or cross-compilation packages needed
  • Eliminates redundant build work across 14 kernel matrix entries (10 amd64 + 4 arm64)
  • build-and-run.sh remains as a thin wrapper for local development

Test plan

  • Tested build-initramfs.sh + run-qemu.sh locally on kernel 6.6.31 (all tests pass)
  • Tested build-and-run.sh wrapper locally
  • CI: build-distro-qemu-initramfs completes for both arches
  • CI: all 14 distro-qemu-tests pass with downloaded initramfs

🤖 Generated with Claude Code

Split the monolithic build-and-run.sh into two scripts:
- build-initramfs.sh: builds test binaries, downloads parcagpu,
  creates debootstrap rootfs, and packs the initramfs (once per arch)
- run-qemu.sh: boots a kernel with the pre-built initramfs in QEMU

In CI, a new build-distro-qemu-initramfs job runs once per arch on
native runners (no cross-compilation needed), uploads the initramfs
as an artifact, and the per-kernel distro-qemu-tests jobs download it.

This eliminates redundant Go compilation, debootstrap, and parcagpu
downloads across 10 amd64 + 4 arm64 kernel matrix entries. The run
jobs now only need QEMU installed.

build-and-run.sh remains as a thin wrapper for local development.

Tested locally: build-initramfs.sh + run-qemu.sh pass on 6.6.31.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gnurizen gnurizen force-pushed the ci/split-distro-qemu-build branch from b953a6a to 9a1f0ae Compare March 11, 2026 21:18
@gnurizen gnurizen requested a review from umanwizard March 11, 2026 21:19
@gnurizen gnurizen merged commit 34749ab into main Mar 11, 2026
52 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants